#include "cpu/exec/helper.h"
make_helper(call_si)
{
    int len = decode_si_l(eip + 1);
    int step = len + 1;                 

    cpu.esp -= 4;                       
    swaddr_write(cpu.esp, 4, eip + step); 
    cpu.eip += op_src->val;             
    print_asm("call %x", eip + step);   
    return step;
}


make_helper(call_rm)
{
    int len = decode_rm_l(eip + 1);
    int step = len + 1;                 

    cpu.esp -= 4;                       
    swaddr_write(cpu.esp, 4, eip + step); 

    cpu.eip = op_src->val - step;       
    print_asm("call *%s", op_src->str);
    return step;
}
